<?php

function elkuldott_adatok_feldolgozasa()
{
  //var_dump('<pre/>',$_POST);
  
  
  $oktatok = query_futtatas("SELECT * FROM tanar");
	
  $kurzusok = query_futtatas("SELECT * FROM kurzus");
  
  
  foreach ($kurzusok as $kurzus)
  {  
    foreach ($oktatok as $oktato)
    {  
      $rows = query_futtatas( 
        "
          SELECT oktato_szervez 
          FROM oktato_kurzus
          WHERE 
            kurzus_id = ".$kurzus['id']."
            AND oktato_id = ".$oktato['id']."
        "
      );
      //var_dump('<pre/>',$rows);
      //echo count($rows)."<br />";
      $tipus = count($rows) == 1 ? $rows[0]["oktato_szervez"] : false;
      
      //itt azt vizsgáljuk, hogy a postban a jelen pillanatban mit küldtünk ell
      //pl. mit checkoltunk ki, vagy mit be
      $post_tipusa = false;
      if(isset($_POST["oktato".$kurzus["id"]]) 
        && in_array($oktato['id'], $_POST["oktato".$kurzus["id"]]))
      {
        $post_tipusa = 1;
      }
      if (isset($_POST["szervez".$kurzus["id"]]) 
         && in_array($oktato['id'], $_POST["szervez".$kurzus["id"]]))
      {
        $post_tipusa = $post_tipusa == 1 ? 3 : 2;
      }
      // Nincs sor az oktato_kurzus-ban a $kurzus['kurzus_id'] kurzus id-val és a $oktato['oktato_id'] oktató idval
      // tehát insert kell
   
      if($tipus == false)
      {
        // csak akkor kell insert ha $_POST-ban megkaptuk 
        //nincs benne db-ben, de postoltuk
        if($post_tipusa != false) 
        {
          query_futtatas(
            "
              INSERT INTO oktato_kurzus VALUES
              (
                '',
                ".$oktato['id'].",
                ".$kurzus['id'].",
                ".$post_tipusa."
              )
            "
          );
        }
      }
      //benne van az adatbázisban
      else
      {
        //benne van az adatbázisban, és el is postoltuk a változást,
        //mint pl. csak oktatot
        //eddig, mostmár szervez is
        if($post_tipusa != false)
        {
          query_futtatas(
            "
              UPDATE oktato_kurzus SET
                oktato_szervez = ".$post_tipusa." 
              WHERE 
                oktato_id = ".$oktato['id']." 
                AND kurzus_id = ".$kurzus['id']."
            "
          );
        }
        //benne van az adatbázisban, de postolva nem küldtük el, tehát kiszedtük a pipát
        else
        {
          query_futtatas(
            "
              DELETE FROM oktato_kurzus 
              WHERE 
                oktato_id = ".$oktato['id']." 
                AND kurzus_id = ".$kurzus['id']."
            "
          );
        }
      } 
    }
  }
  //Módosítom a felső tálázatban a jelszót
	/* UPDATE  `oktato` SET  `okt_jelszo` =  'blabla' WHERE  `oktato`.`oktato_id` =59; */
	foreach ( $oktatok as $oktato) 
  {
    if (!empty($_POST["password".$oktato['id']])) {
      
      query_futtatas("
        UPDATE felhasznalo,tanar 
        SET jelszo = '".$_POST['password'.$oktato['id']]."'
        WHERE felhasznalo.id = tanar.felhasznalo_id AND
              tanar.id =".$oktato['id']
        );
    }
  }
}

function tisztitas()
{
  //Törli azokat az oktatókat  
  query_futtatas("
    DELETE FROM tanar 
    WHERE id NOT IN 
    (SELECT oktato_id from oktato_kurzus)");
  
  //Ehhez a szervezők, hallgatók stb is kell későbbbbb
  $rows = query_futtatas("
    SELECT id FROM kurzus WHERE id NOT IN 
    (SELECT kurzus_id from oktato_kurzus)
  ");
  foreach ($rows as $row)
  {
    // töröljük a hallgatókat a törlendő kurzusról
    query_futtatas("DELETE FROM hallgato_kurzus WHERE kurzus_id = ".$row["id"]);
    
    // töröljük azokat a hallgatókat akiknek nincs kurzusuk
    query_futtatas("
      DELETE FROM hallgato 
      WHERE id NOT IN (SELECT hallgato_id FROM hallgato_kurzus )
    ");
    
    // töröljük a vizsgákat a törlendő kurzusról
    query_futtatas("DELETE FROM vizsga_kurzus WHERE kurzus_id = ".$row["id"]);
    
    // töröljük azokat a vizsgákat amik nincsenek egy kurzushoz sem rendelve
    query_futtatas("
      DELETE FROM vizsga 
      WHERE id NOT IN (SELECT vizsga_id FROM vizsga_kurzus )
    ");
    
    // töröljük azokat a vizsga időpontokat amik a törlendő vizsgákhoz tartoznak
    query_futtatas("
      DELETE FROM vizsga_idopont
      WHERE vizsga_id NOT IN (SELECT vizsga_id FROM vizsga_kurzus )
    ");
  }
  
  query_futtatas("
    DELETE FROM kurzus 
    WHERE id NOT IN 
    (SELECT kurzus_id from oktato_kurzus)");
}
 
?>